The problem of not being able to embed a question mark (?) in the body field (or any other field, for that matter) when creating a mail in the Notes client via the mailto: protocol has persisted forever in Notes (R4.x, R5, R6)...
ND6 forum:
http://www-10.lotus.com/ldd/nd6forum.nsf/Search?SearchView&Query=mailto%20and%20body&SearchOrder=0&Start=1&Count=100
ND4-5 forum:
http://www-10.lotus.com/ldd/46dom.nsf/search?SearchView&Query=mailto%20and%20body&SearchOrder=1&SearchMax=250&SearchWV=FALSE&SearchFuzzy=FALSE&Start=1&Count=100
As I see it, so far, no workarounds have been found, and no resolution of this bug has been promised by Lotus. Maybe raising this problem as a bug via the official channels would make things happen.
I have one suggestion, that might prove to be a workaround.
Provided you know which system the URL links to (possibly a domino server), you could set that system up to use an exclamation point (!), rather than a question mark (?) as a command/query string separator character. And the Notes client allows you to embed exclamation points in parameters of the mailto protocol.
So when you want to send a link like this one:
http://www.lotus.com/ldd/nd6forum.nsf?OpenDatabase
you could instead convert it to ...
http://www.lotus.com/ldd/nd6forum.nsf!OpenDatabase
which may be embedded in a mailto link, like so:
mailto:me@mycompany.com?subject=A+Link&body=http://www.lotus.com/ldd/nd6forum.nsf!OpenDatabase
... or using urlencoding for the entire url ...
mailto:me@mycompany.com?subject=A+Link&body=http%3a%2f%2fwww.lotus.com%2fldd%2fnd6forum.nsf!OpenDatabase
Is this an option for you?